﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Mx.Ipn.Escom.TT20080015.Modelo.DB;
using Mx.Ipn.Escom.TT20080015.Modelo.Datos;

namespace Mx.Ipn.Escom.TT20080015.Vistas.Control
{
    public partial class Usuarios : System.Web.UI.Page
    {
        /// <summary>
        /// Se verifica que el usuario tenga perfil de Administrador.
        /// </summary>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["user"] == null)
                Server.Transfer("~/Default.aspx", false);
            else if (!((Usuario)Session["user"]).Perfil.Equals("Administrador"))
                Server.Transfer("../../vistas/control/Control.aspx", false);
        }

        /// <summary>
        /// Este método realiza una búsqueda de un usuario por su nombre y su perfil y lo muestra en una tabla en el formulario.
        /// </summary>
        protected void buscarButton_Click(object sender, EventArgs e)
        {
            try
            {
                DataSet ds = UsuarioManager.ObtenerUsuarios(buscaTextBox.Text, "Administrador");
                usuarioGridView.DataSource = ds;
                usuarioGridView.DataMember = "usuario";
                usuarioGridView.DataBind();
            }
            catch (Exception ex)
            {
                Context.Items.Add("msg", ex.Message);
                Server.Transfer("../../vistas/control/PaginaError.aspx", false);
            }
        }

        /// <summary>
        /// El método se encarga de redireccionar a la vista Usuario que mostrará los datos del usuario seleccionado.
        /// </summary>
        protected void consultarButton_Click(object sender, EventArgs e)
        {
            Context.Items.Add("Id", usuarioGridView.SelectedValue);
            Server.Transfer("./Usuario.aspx");
        }

        /// <summary>
        /// Este método permite seleccionar un Usuario para consultar sus datos.
        /// </summary>
        protected void seleccionar_SelectedIndexChanged(object sender, EventArgs e)
        {
            consultarButton.Visible = true;
        }

    }
}
